ความร เบ องต นเก ยวก บฐานข อม ล Introduction to Database
ร ปแบบการจ ดเก บข อม ลแบบเด ม
ระบบแฟ มข อม ล (File-based System) ระบบแฟ มข อม ล (File-based system) ค อ ช ดของ โปรแกรมประย กต ท ให ผ ใช ใช เพ อประมวลผลงานท ต องการ โดยแต ละโปรแกรมก จะก าหนดและจ ดการ แฟ มข อม ลของตนเอง แฟ มข อม ลท ใช ในระบบไฟล จะแยกจากก นเป น เอกเทศ และอาจไม ม ความส มพ นธ ก น โดยส วนใหญ ข อม ลและโปรแกรมม กรวมอย ด วยก น เป นแฟ มข อม ล
ระบบแฟ มข อม ล (File-based System) ฝ ายลงทะเบ ยน ฝ ายการเง น» ข อม ลน กศ กษา (รห ส ช อ ท อย )» ข อม ลการลงทะเบ ยน» ข อม ลน กศ กษา (รห ส ช อ ท อย )» ข อม ลการเง น ฝ ายห องสม ด» ข อม ลน กศ กษา (รห ส ช อ ท อย )» ข อม ลการย ม-ค นหน งส อ
ข อจ าก ดของการประมวลผลแบบแฟ มข อม ล ความซ าซ อนของข อม ล (Redundancy) ความข ดแย งของข อม ล (Data Inconsistency) เน องจากข อม ลแยกก นโดยเป นอ สระ เม อแฟ มท ม ข อม ลซ าซ อนก นแฟ มใดแฟ มหน งถ กแก ไข อ กแฟ ม อาจไม ถ กแก ไขให ม ข อม ลเหม อนก น ความไม เป นอ สระระหว างโปรแกรมก บข อม ล (Data Dependency) หากต องการเปล ยนโครงสร างของ ข อม ลต องแก ไขโปรแกรมท งระบบ
ระบบฐานข อม ล
ความหมายของระบบฐานข อม ล ระบบฐานข อม ล (Database system) หมายถ ง เป น กล มของข อม ลท ส มพ นธ ก น น ามาเก บรวบรวมเข า ไว ด วยก นอย างม ระบบและและข อม ลท ประกอบก น เป นฐานข อม ลน น ต องตรงตามว ตถ ประสงค การใช งาน เพ อให สามารถน าข อม ลมาประมวลเพ อช วยใน การต ดส นใจ ลดความซ าซ อน สามารถใช ข อม ล ร วมก นได ม การควบค มด แลร กษา
ระบบฐานข อม ล(Database system) ระบบฐานข อม ลม ส วนท ท าหน าท ในการอธ บาย ความหมายของรายการข อม ลท เก บอย ในฐานข อม ล ด วย เร ยกส วนน ว า บ ญช ระบบ (System catalog) หร อ พจนาน กรม ของข อม ล(Data Dictionary) หร อเมตาดาต า(Meta - data) เป นข อม ลของข อม ล
ระบบฐานข อม ล(Database system) ในการจ ดการข อม ลในฐานข อม ลจะใช ซอฟต แวร ประเภท ระบบจ ดการฐานข อม ล (Database Management System : DBMS) ผ ใช สามารถเข าถ งข อม ลในฐานข อม ลโดยผ าน DBMS โดยท ผ ใช อาจจะเข ยนโปรแกรมประย กต หร อใช ภาษา เร ยกค น (query Language)
ระบบฐานข อม ล(Database system) โครงสร างของข อม ลจะถ กแยกออกจากโปรแกรม ประย กต และเก บเอาไว ในส วนท เร ยกว า ฐานข อม ล ถ าม การเพ มหร อปร บปร งโครงสร างของข อม ลก จะไม ม ผลกระทบก บโปรแกรมประย กต
ระบบฐานข อม ล(Database system) ฝ ายลงทะเบ ยน ฝ ายการเง น ฝ ายห องสม ด DBMS» ข อม ลน กศ กษา (รห ส ช อ ท อย )» ข อม ลการการลงทะเบ ยน» ข อม ลการเง น» ข อม ลการย ม-ค นหน งส อ
หน าท ของ DBMS จ ดการพจนาน กรมของข อม ล (Data dictionary management) จ ดการการจ ดเก บข อม ล(Data storage management) การแปลงข อม ลและการน าเสนอข อม ล(Data transformation and presentation) การจ ดการด านความปลอดภ ย(Security management) ควบค มการเข าใช งานของผ ใช พร อมก น(Multiuser accesss control)
หน าท ของ DBMS การจ ดการเร องการส ารองและก ค นข อม ล(Backup and recovery management) การจ ดการความคงสภาพของข อม ล(Data integrity management) ภาษาในการเข าถ งข อม ลและส วนประสานผ ใช ใน โปรแกรมประย กต (Database access languages and application programming interfaces)
องค ประกอบของระบบฐานข อม ล ฮาร ดแวร Hardware ซอฟต แวร Software ข อม ล Data สะพาน กระบวนการ Procedure เคร อง มน ษย บ คลากร People
ฮาร ดแวร (Hardware) หมายถ งคอมพ วเตอร และอ ปกรณ รอบข างซ ง เก ยวข องก บการใช งานฐานข อม ล ซอฟต แวร (Software) หมายถ ง ระบบปฏ บ ต การ, ระบบจ ดการฐานข อม ล โปรแกรมประย กต และโปรแกรมย ท ล ต ต าง ๆ ท เก ยวข องก บการใช งานในระบบงานฐานข อม ล
ข อม ล(Data) หมายถ ง ข อม ลท จ ดเก บอย ในฐานข อม ล เพ อน าไปใช ใน การประมวลต อไป ส วนท ใช อธ บายข อม ลใน DBMS บรรยายค ณล กษณะของข อม ล(meta data) ว ธ ด าเน นการ(Procedure) ซ งจะเป นข อม ลท หมายถ ง ค าส งและกฎต าง ๆ ในข นตอนการปฏ บ ต งานท เก ยวข องก บช ดค าส ง กฎเกณฑ ในการออกแบบและการใช งานฐานข อม ล
บ คลากร(People) หมายถ งบ คคลท เก ยวข องก บระบบงานฐานข อม ล ท ง ส วนท เป นการออกแบบและการใช งาน ผ บร หารฐานข อม ล(Database Administrator :DBA) น กออกแบบฐานข อม ล(Database Designer) น กพ ฒนาโปรแกรม(Application Developers) ผ ใช (End User)
ข อด ของการใช งานฐานข อม ล ม ความเป นอ สระต อก นระหว างโปรแกรมและข อม ล ลดความซ าซ อนของข อม ล เพ มความตรงก นของข อม ล สามารถใช ข อม ลร วมก นได บ งค บให เป นมาตรฐานเด ยวก นได ป องก นและควบค มการเข าถ งข อม ลได ง ายข น ลดป ญหาในการบ าร งร กษาโปรแกรมแบบเด ม
ข อจ าก ดของระบบการจ ดการฐานข อม ล ซ บซ อน (Complexity) ขนาดใหญ (Size) ราคาของ DBMS แพง (Cost of DBMS) ราคาของฮาร ดแวร แพงตามไปด วย(Additional hardware cost) ค าใช จ ายในการแปลงระบบ(Cost of conversion) ผลกระทบจากความเส ยหายส ง(Higher impact of a failure)
สถาป ตยกรรมฐานข อม ล 3 ระด บ ANSI/SPARC (The tree-level ANSI/SPARC architecture) แบ งออกเป น 3 ระด บ ระด บภายนอก(External level) ระด บแนวค ด(Conceptual level) ระด บภายใน(Internal level)
สถาป ตยกรรมฐานข อม ล 3 ระด บ ANSI/SPARC (The tree-level ANSI/SPARC architecture) External level User 1 User 2 User 3 View 1 View 2 View 3 Conceptual level Conceptual Schema Internal level Internal Schema Database
ระด บภายนอก(External level) เป นระด บท ต ดต อก บผ ใช ผ ใช แต ละคนอาจจะม ม มมองข อม ลแตกต างก นหร อเหม อนก น ก ได ร ปแบบข อม ลท เห นในระด บภายนอก เร ยกว า เค าร าง ภายนอก(External schema)หร อ ว ว(View) ซ งอาจน าเสนอได หลายร ปแบบ แต ละฐานข อม ลสามารถม เค าร างภายนอก ได หลายร ปแบบ
ระด บภายนอก(External level) ช อ User A โทรศ พท ส นสม ทร 0-4221-1040 ส ดสาคร 0-4224-4505 รห ส ช อ User B ท อย โทรศ พท 001 ส นสม ทร 48/7 ถ.อ ดรด ษฎ 0-4221-1040 รห สว ชา ช อว ชา DB01 ระบบฐานข อม ล 3 PR01 หล กการเข ยนโปรแกรม 3 NW01 User C เคร อข ายและ โทรคมนาคม หน วยก ต 3 External schema Conceptual schema รห ส ช อ ท อย โทรศ พท รห สว ชา ช อว ชา หน วยก ต 001 ส นสม ทร 48/7 ถ.อ ดรด ษฎ 0-4221-1040 002 ส ดสาคร 64 ถ.ทหาร 0-4224-4505 DB01 ระบบฐานข อม ล 3 PR01 หล กการเข ยนโปรแกรม 3 NW01 เคร อข ายและโทรคมนาคม 3
ระด บแนวค ด(Conceptual level) เป นโครงสร างหล กของฐานข อม ลโดยรวม โครงสร างข อม ลในระด บน ม งเน นความส มพ นธ (Relationship) ระหว าง ข อม ลเป นหล กส าค ญ หร อเร ยกว าแบบจ าลองข อม ล(Data Model) เป นระด บท อธ บายถ งว า ข อม ลอะไร(What) ท จะจ ดเก บลงในฐานข อม ล และม ความส มพ นธ ระหว างอย างไร ระด บแนวค ดม ความเก ยวข องก บส งต อไปน จ านวนเอนต ต ท งหมด ซ งประกอบด วย แอตทร บ วต และความส มพ นธ ระหว างเอนต ต กฏเกณฑ ของข อม ล ความปลอดภ ย และความคงสภาพของข อม ล
ระด บแนวค ด(Conceptual level) 001 ส นสม ทร 48/7 ถ.อ ดรด ษฎ 0-4221-1040 002 ส ดสาคร 64 ถ.ทหาร 0-4224-4505 003 ก านกล วย 55/2 ถ.ศร ชมช น 0-4225-5142 รห ส 003 001 002 Conceptual schema Internal schema 001 ส นสม ทร 48/7 ถ.อ ดรด ษฎ 0-4221-1040 002 ส ดสาคร 64 ถ.ทหาร 0-4224-4505 003 ก านกล วย 55/2 ถ.ศร ชมช น 0-4225-5142
ระด บภายใน(Internal level) เป นระด บท จ ดเก บข อม ลด วยโครงสร างท เหมาะสม ซ งม ผลต อความเร ว และประส ทธ ภาพในการเข าถ งข อม ลท ต องการ โครงสร างข อม ลท ใช เก บ เช น Tree, B-Tree หร อ Index ข นอย ก บการ ก าหนดโดย DBA ร ปแบบข อม ลท เห นในระด บภายในเร ยกว า เค าร างภายใน(Internal schema) เป นระด บท ม การท างานประสานก บระบบปฏ บ ต การ (OS) ข อม ลในระด บภายในย งไม ใช ร ปแบบการจ ดเก บข อม ลจร งๆท เก บในด สก การอ านและเข ยนข อม ลเป นหน าท ของระบบปฏ บ ต การ(OS)
ระด บภายใน(Internal level) 003 001 002 001 ส นสม ทร 48/7 ถ.อ ดรด ษฎ 0-4221-1040 002 ส ดสาคร 64 ถ.ทหาร 0-4224-4505 003 ก านกล วย 55/2 ถ.ศร ชมช น 0-4225-5142 Internal schema Physical Disk 1 2 3 4 5 6 7 8 9 10 11 12 4 11 001 ส นสม ทร.. 002 ส ดสาคร.. X 003 ก านกล วย...
เค าร างฐานข อม ล(schema) ประกอบด วย เค าร างภายนอก(External schema หร อ subschema) เค าร างแนวค ด(Conceptual schema) เค าร างภายใน(Internal schema)
ความเป นอ สระของข อม ล(Data Independence) External schema External schema External schema External/Conceptual Mapping Conceptual/Internal Mapping Conceptual Schema Internal Schema Logical data independence Physical data independence
แบบจ าลองข อม ล(Data Model) แบบจ าลองข อม ล(Data Model) หมายถ ง แบบจ าลองท ใช อธ บายและจ ดการข อม ล, ความส มพ นธ ระหว างข อม ล และข อบ งค บของข อม ลในระบบ
แบบจ าลองข อม ลในระด บแนวค ด (Conceptual data model) ใช หล กการเก ยวก บ เอนต ต (Entity), แอททร บ วท (Attribute) และความส มพ นธ (Relationship) ต วอย างของแบบจ าลองน ได แก Entity-Relationship, Functional, Object-Oriented
Implementation or Representational data model แบบจ าลองท ประกอบด วยรายการข อม ลท แตกต างก น ต วอย างแบบจ าลองแบบน ได แก Hierarchical data model Network data model Relational data model
แบบจ าลองข อม ลเช งส มพ นธ (Relational data model) รห สสาขา ท อย จ งหว ด รห สไปรษณ ย B003 44/3 ถ.อ ดรด ษฎ อ ดรธาน 41000 B005 55/5 ถ.น ตโย อ ดรธาน 41000 B007 16 ถ.โพนพ ส ย หนองคาย 44000 B002 30 ถ.ชยางก ร อ บลราชธาน 34000 B004 88/10 ถ.ราชส มา นครราชส มา 43000 รห สพน กงาน ช อ นามสก ล ต าแหน ง เพศ ว นเก ด เง นเด อน รห สสาขา SUD21 สมชาย ผ จ ดการ ช 1 ตค. 2516 30000 B005 SNK37 แอน ทองประสม พน กงาน ญ 10 พย. 2519 12000 B007 SNK14 เจม พ ท กษ ห วหน าแผนก ช 24 ม ค. 2517 20000 B007 SUB09 ส น นท ย งเจร ญ พน กงาน ญ 19 กพ. 2521 9000 B002 SUD04 ปน ดดา วงศ ไท ผ จ ดการ ญ 3 กค. 2518 25000 B003 SNR41 เจนจ รา ประสพ พน กงาน ญ 13 ม ย. 2520 9000 B004
แบบจ าลองข อม ลในระด บกายภาพ (Physical data model)